大家好!
今天開始就要學習函式庫的基礎了。
我們進入今天的主題吧!
我們先來看下方的資料:
let record;
record = {
name: 'Felix',
date: '2021-09-16',
post: 1
};
record; // { name: 'Felix', date: '2021-09-16', post: 1 }
/* ... */
record = {
name: 'Felix',
date: '2021-10-15',
post: 30
};
record.status = true; /* 更新挑戰狀態 */
record; // { name: 'Felix', date: '2021-10-15', post: 30, status: true }
如果要記錄 Felix 的鐵人賽發文狀態,這是最直覺的方式。
但是,每次賦值都一定要重寫物件,難道沒有像下方這樣的模板嗎?
let record;
record = new Ironman('Felix', '2021-09-16', 1);
record; // { name: 'Felix', date: '2021-09-16', post: 1 }
/* ... */
record = new Ironman('Felix', '2021-10-15', 30);
record.finish();
record; // { name: 'Felix', date: '2021-10-15', post: 30, status: true }
當然是有的,這就是接下來要介紹的建構函式。
上方的模板能減少很多不必要的動作,也能確保物件的屬性都能保持一致。
先來學習建立建構函式:
function Ironman(n, d, p) {
this.name = n;
this.date = d;
this.post = p;
}
這樣就建立完建構函式了,上方說的模板就能直接使用了!
建構函式顧名思義就是函式的一種,只是呼叫的方式要搭配 new
這個關鍵字。
至於建構函式中的 this
則是代表新的物件本身:
new Ironman('Felix', '2021-09-16', 1);
// { name: 'Felix', date: '2021-09-16', post: 1 }
是不是新的物件都有建構函式中的屬性呢?
建構函式能讓我們節省許多不必要花費的時間,但是接下來其實才是重頭戲呢!
差不多也到尾聲了。
如果對文章有任何疑問,歡迎於下方提問和建議!
我是 Felix,我們明天再見!